/**
 * API 响应基础接口
 */
export interface ResultData<T = any> {
  /** 响应状态码 */
  code: number;
  /** 响应消息 */
  message: string;
  /** 响应数据 */
  data: T;
  /** 是否成功 */
  success: boolean;
}

/**
 * 分页请求参数接口
 */
export interface PageParams {
  /** 当前页码 */
  current: number;
  /** 每页条数 */
  pageSize: number;
}

/**
 * 分页响应数据接口
 */
export interface PageResult<T = any> {
  /** 数据列表 */
  list: T[];
  /** 总条数 */
  total: number;
  /** 当前页码 */
  current: number;
  /** 每页条数 */
  pageSize: number;
}

/**
 * 请求配置接口
 */
export interface RequestConfig {
  /** 是否显示加载状态 */
  loading?: boolean;
  /** 是否显示错误提示 */
  errorMessage?: boolean;
  /** 是否显示成功提示 */
  successMessage?: boolean;
  /** 自定义错误处理 */
  onError?: (error: Error) => void;
  /** 自定义成功处理 */
  onSuccess?: (data: any) => void;
}